home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection Student Program / ADC Tools Sampler CD Disk 3 1999.iso / Metrowerks CodeWarrior / Java Support / Java_Source / IFC_112 / netscape / application / FoundationMenuItem.java < prev    next >
Encoding:
Text File  |  1999-05-28  |  1.7 KB  |  72 lines  |  [TEXT/CWIE]

  1. // FoundationMenuItem.java
  2. // By Ned Etcode
  3. // Copyright 1996, 1997 Netscape Communications Corp.  All rights reserved.
  4.  
  5. package netscape.application;
  6.  
  7. import netscape.util.*;
  8.  
  9. /** FoundationMenuItem is a subclass of java.awt.MenuItem that overrides
  10.   * <b>postEvent()</b> to forward a selection event to an associated IFC
  11.   * MenuItem.
  12.   *
  13.   * @see Menu
  14.   * @author David Karlton
  15.   * @version     1.0
  16.   */
  17.  
  18. class FoundationMenuItem extends java.awt.MenuItem {
  19.     MenuItem menuItem;
  20.  
  21.     /** Constructor.
  22.       */
  23.     public FoundationMenuItem(String label) {
  24.         this(label, null);
  25.     }
  26.  
  27.     /** Convenience constructor that also sets the IFC MenuItem.
  28.       */
  29.     public FoundationMenuItem(String label, MenuItem item) {
  30.         super(label);
  31.         setMenuItem(item);
  32.     }
  33.  
  34.     /** Adds the event to the IFC event queue.
  35.       */
  36.     public boolean postEvent(java.awt.Event evt) {
  37.         Event event;
  38.         Application app;
  39.         Menu menu;
  40.         MenuItem tmpMenuItem;
  41.  
  42.         menu = menuItem.supermenu();
  43.         while (!menu.isTopLevel()) {
  44.             tmpMenuItem = menu.superitem();
  45.             menu = tmpMenuItem.supermenu();
  46.         }
  47.  
  48.         app = menu.application();
  49.         if (!app.isModalViewShowing()) {
  50.             event = new Event();
  51.             event.setProcessor(menuItem);
  52.             app.eventLoop().addEvent(event);
  53.         } else {
  54.             //app.beep();
  55.         }
  56.  
  57.         return true;
  58.     }
  59.  
  60.     /** Sets the IFC MenuItem that maintains this FoundationMenuItem.
  61.       */
  62.     public void setMenuItem(MenuItem aMenuItem) {
  63.         menuItem = aMenuItem;
  64.     }
  65.  
  66.     /** Returns the IFC MenuItem maintained by this FoundationMenuItem.
  67.       */
  68.     public MenuItem menuItem() {
  69.         return menuItem;
  70.     }
  71. }
  72.